Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サーバレスで動かすトークン発行プラットフォーム.pdf

shunp
February 23, 2019

 サーバレスで動かすトークン発行プラットフォーム.pdf

JAWS DAYS 2019で発表した資料になります。
[Serverless] サーバレスで動かすトークン発行プラットフォーム

shunp

February 23, 2019
Tweet

More Decks by shunp

Other Decks in Programming

Transcript

  1. ௚ۙ೥Ͱ࢖༻͖ͯͨ͠αʔϏε Amazon Elastic Block Store (EBS) Amazon Simple Storage Service

    (S3) AWS Key Management Service AWS Identity and Access Management (IAM) AWS CloudHSM Amazon Cognito Amazon CloudFront Amazon VPC PrivateLink Amazon Route 53 AWS Amplify AWS AppSync Amazon CloudWatch AWS CloudFormation AWS CloudTrail Amazon Lex AWS X-Ray Amazon API Gateway AWS CodePipeline AWS CodeStar AWS Cloud9 AWS CodeBuild AWS CodeCommit Amazon Aurora Amazon DynamoDB Amazon ElastiCache Amazon Lightsail AWS Fargate AWS Elastic Beanstalk AWS Lambda Amazon Elastic Container Service Amazon Sumerian Amazon Simple Notification Service Amazon Simple Queue Service AWS Step Functions Amazon Polly Amazon Kinesis
  2. ͭͷط੒ࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾ಺Ͱར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δ؀ڥ ͍͚͜͠ΎΜ΃͍ Ծ໨ඪɿ4JNQMFY5PLFO

    Ծ૝௨՟ Λൃߦͯࣾ͠಺Ͱར༻ͯ͠΋Β͏ ࣾ಺Ͱར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔε૝ఆ શମΞʔΩઃܭ %#ઃܭ Ծ૝௨՟ൃߦ ϒϩοΫνΣʔϯ઀ଓ "1*࣮૷ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ
  3. ͭͷط੒ࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾ಺Ͱར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δ؀ڥ ͍͚͜͠ΎΜ΃͍ Ծ໨ඪɿ4JNQMFY5PLFO

    Ծ૝௨՟ Λൃߦͯࣾ͠಺Ͱར༻ͯ͠΋Β͏ ࣾ಺Ͱར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔε૝ఆ શମΞʔΩઃܭ %#ઃܭ Ծ૝௨՟ൃߦ ϒϩοΫνΣʔϯ઀ଓ "1*࣮૷ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ
  4. ͳͥ͜ͷ׆ಈ͕ඞཁͳͷ͔ʁ ͜ͷ׆ಈʹΑΓձࣾʹͲΜͳϝϦοτ͕͋Δͷ͔ʁ 1PJOU    Πϊϕʔγϣϯʹͭͳ͕Δ׆ಈ ɾΠϊϕʔγϣϯΛੜΈग़͢͜ͱΛձࣾͷଘࡏҙٛͱͯ͠ଊ͍͑ͯΔاۀɻ ɾϒϩοΫνΣʔϯ͕ۚ༥ۀքͰ࠷΋ϗοτͳ࿩୊Ͱ͋ͬͨɻ ࣾ಺ָ͕͘͠ͳΔπʔϧΛఏڙ

    ɾτʔΫϯͱ͍͏֎తใुͰɺීஈͷ࢓ࣄʹผͷҙຯ͚ͮΛ࣋ͨͤΔɻ ɾࣾ֎ʹग़͞ͳ͍ͷͰϦεΫ΋গͳ͍ɻ ٕज़αϯυϘοΫεͱͯ͠ར༻ ɾ௅ઓ͍ٕͨ͠ज़Λࢼ͢৔ͱͯ͠ར༻͢Δ͜ͱΛએݴɻ ɾࢼͨ͠ϊ΢ϋ΢ͷڞ༗ʹΑΔࣾ಺ͷٕज़ྗ޲্Λݟਾ͑Δɻ ɾྗΛ࣋ͯ༨ͨ͠एखΛर͏ϑΟʔϧυʹ΋ར༻ͯ͠΄͍͠ɻ ׆ಈࣗମͷঝೝ ߟ࡯هࣄΛࣾ಺Ͱެ։
  5. ͭͷط੒ࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾ಺Ͱར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δ؀ڥ ͍͚͜͠ΎΜ΃͍ Ծ໨ඪɿ4JNQMFY5PLFO

    Ծ૝௨՟ Λൃߦͯࣾ͠಺Ͱར༻ͯ͠΋Β͏ ࣾ಺Ͱར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔε૝ఆ શମΞʔΩઃܭ %#ઃܭ Ծ૝௨՟ൃߦ ϒϩοΫνΣʔϯ઀ଓ "1*࣮૷ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ
  6. ·ͣ͸ඞཁ࠷খݶͷػೳʹूத͢Δ ᶃ࢒ߴরձ ὎ࣗ෼͸Ͳͷ͘Β͍4JNQMFY5PLFOΛ͍࣋ͬͯΔ͔֬ೝͰ͖Δ ᶄτʔΫϯडऔ ὎Կ͔ͷτϦΨʔͰ4JNQMFY5PLFOΛ΋Β͑Δ ։ൃલఏ ਓ͕͍ͳ͍ ὎খ஑͕૽͍ͰΔ͚ͩ ͕࣌ؒͳ͍ ὎ਖ਼௚ຊۀͰख͍ͬͺ͍ͷՔಇ

    ஌͕ࣝͳ͍ ὎΍Γ͍ͨ͜ͱ͸৽ͨͳྖҬ 6*ͭ͘Δͷ͔͔࣌ؒΔ 4MBDLΛ6*ͱͯ͠ར༻ ೝূࡁΈલఏ Πϯϑϥߏங͔͔࣌ؒΔ αʔόϨε-BNCEBͰߏங ࣗಈతʹ%ZOBNP%#͕બ୒ࢶʹ ࣮૷͸ૣ͘ऴΘΒ͍ͤͨ पลϥΠϒϥϦͷ๛෋ͳ /PEFKTͰ࣮૷
  7. ͭͷط੒ࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾ಺Ͱར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δ؀ڥ ͍͚͜͠ΎΜ΃͍ Ծ໨ඪɿ4JNQMFY5PLFO

    Ծ૝௨՟ Λൃߦͯࣾ͠಺Ͱར༻ͯ͠΋Β͏ ࣾ಺Ͱར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔε૝ఆ શମΞʔΩઃܭ %#ઃܭ εϚʔτίϯτϥΫτ ಠࣗ௨՟σϓϩΠ "1*࣮૷ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* "3 ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ
  8. ͭͷط੒ࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾ಺Ͱར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δ؀ڥ ͍͚͜͠ΎΜ΃͍ Ծ໨ඪɿ4JNQMFY5PLFO

    Ծ૝௨՟ Λൃߦͯࣾ͠಺Ͱར༻ͯ͠΋Β͏ ࣾ಺Ͱར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔε૝ఆ શମΞʔΩઃܭ %#ઃܭ εϚʔτίϯτϥΫτ ಠࣗ௨՟σϓϩΠ "1*࣮૷ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* "3 ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ
  9. Amazon API Gateway Amazon DynamoDB AWS Lambda ࠓճͷొ৔αʔϏε AWS Lambda

    &$ͳͲͷαʔόΛඞཁͱͤͣʹίʔυͷ࣮ߦ͕Ͱ͖Δɻ ྫ͑͹ɺ;JQʹݻΊͨιʔείʔυΛ-BNCEBͷίϯιʔϧը໘͔Β Ξοϓϩʔυ͢Δ͚ͩͰίʔυΛϦϞʔτͰ࣮ߦͰ͖Δɻ /PEFKTͷ࣮ߦ؀ڥͱͯ͠ར༻ Amazon API Gateway 3&45"1*΍8FC4PDLFU"1*Λ࡞੒͢ΔࡍͷΠϯλϑΣʔεΛ؆୯ʹ༻ҙͰ͖Δɻ ݺͼग़͍ͨ͠-BNCEBΛϚοϐϯάͰ͖ɺ"1*(BUFXBZ -BNCEBͰ"1*ΛߏஙՄೳɻ τϥϑΟοΫͷ؅ཧ΍ɺ*".ͱ૊Έ߹ΘͤͨೝՄ੍ޚ΋Ͱ͖Δɻ ϦΫΤετΛड͚Δ"1*ΤϯυϙΠϯτΛ࡞੒ Amazon DynamoDB ΩʔόϦϡʔ͓ΑͼυΩϡϝϯτܕͷσʔλϕʔεαʔϏεɻ εέʔϧ؅ཧ΍ΠϯετʔϧॲཧͳͲ͕ෆཁͰ؆୯ʹར༻Ͱ͖Δɻ -BNCEBͷσʔλॻ͖ࠐΈઌͱͯ͠΋࢖ΘΕΔ͜ͱ͕ଟ͍ɻ ϒϩοΫνΣʔϯʹॻ͖ࠐ·ͳ͍σʔλͷอଘઌͱͯ͠ར༻
  10. ᶃ࢒ߴ֬ೝ ᶄτʔΫϯडऔ "1*࣮૷ &UIFSFVN ΞυϨεੜ੒ ΞυϨε Ϣʔβ৘ใ Ϣʔβ৘ใͱΞυϨεͷ Ϛοϐϯά৘ใΛอଘ ςετωοτ΁

    τʔΫϯอ༗਺ྔΛ ॻ͖ࠐΉ XFCKT Λຬͨ͢࠷௿ݶͷΞʔΩςΫνϟશମ૾ ίϚϯυʹҾ਺ ͱͯ͠࿈ܞ ˒4MBDL͔Β"1*(BUFXBZ͕ ൃߦ͢ΔΤϯυϙΠϯτ΁ ɹɹɹ3&45"1*ͷϦΫΤετ͕ൃੜ ˒εϚʔτίϯτϥΫτͰ ɹɹ؅ཧ͠ʹ͍͘Ϛοϐϯά৘ใ͸ ɹɹɹ%ZOBNP%#΁ॻ͖ࠐΈ ˒ϩδοΫ͸/PEFKTͰهड़͠ ɹɹ-BNCEB΁Ξοϓϩʔυ ˒XFCKTͱ͍͏ϥΠϒϥϦΛ࢖ͬͯ ɹɹ&UIFSFVNωοτϫʔΫʹσϓϩΠ͞Εͨ ɹɹɹεϚʔτίϯτϥΫτΛૢ࡞ Amazon API Gateway Amazon DynamoDB AWS Lambda MetaMask Slack Ethereum
  11. ᶃ࢒ߴ֬ೝ ᶄτʔΫϯडऔ "1*࣮૷ &UIFSFVN ΞυϨεੜ੒ ΞυϨε Ϣʔβ৘ใ Ϣʔβ৘ใͱΞυϨεͷ Ϛοϐϯά৘ใΛอଘ ςετωοτ΁

    τʔΫϯอ༗਺ྔΛ ॻ͖ࠐΉ XFCKT Λຬͨ͢࠷௿ݶͷΞʔΩςΫνϟશମ૾ ίϚϯυʹҾ਺ ͱͯ͠࿈ܞ ˒4MBDL͔Β"1*(BUFXBZ͕ ൃߦ͢ΔΤϯυϙΠϯτ΁ ɹɹɹ3&45"1*ͷϦΫΤετ͕ൃੜ ˒εϚʔτίϯτϥΫτͰ ɹɹ؅ཧ͠ʹ͍͘Ϛοϐϯά৘ใ͸ ɹɹɹ%ZOBNP%#΁ॻ͖ࠐΈ ˒ϩδοΫ͸/PEFKTͰهड़͠ ɹɹ-BNCEB΁Ξοϓϩʔυ ˒XFCKTͱ͍͏ϥΠϒϥϦΛ࢖ͬͯ ɹɹ&UIFSFVNωοτϫʔΫʹσϓϩΠ͞Εͨ ɹɹɹεϚʔτίϯτϥΫτΛૢ࡞ Amazon API Gateway Amazon DynamoDB AWS Lambda αʔόϨεͰz΍Δ΂͖͜ͱzʹूதͰ͖ͨ
  12. ͭͷط੒ࣄ࣮Λͭͬͯ͘͠·͓͏ʂ ࣾ಺Ͱར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δ؀ڥ ͍͚͜͠ΎΜ΃͍ Ծ໨ඪɿ4JNQMFY5PLFO Ծ૝௨՟ Λൃߦͯࣾ͠಺Ͱར༻ͯ͠΋Β͏

    ࣾ಺Ͱར༻Ͱ͖ΔπʔϧΛ࡞Δ Ϣʔεέʔε૝ఆ શମΞʔΩઃܭ %#ઃܭ εϚʔτίϯτϥΫτ ಠࣗ௨՟σϓϩΠ "1*࣮૷ αʔόϨεαʔϏε ͦͷଞ"84αʔϏε 8FC6* ϞόΠϧ6* "3 ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ ൃ৴ͯ͠ ڞײΛूΊΔ
  13. ͱΓ͋͑ͣ ࢀՃˍϒʔεग़ల͕ܾఆ ὎͜ͷ··ͷϨϕϧͰྑ͍ͷ͔ʜʁ /PEFKTΛ࢖࣮ͬͨ૷ ϥΠτͳ"1*ͳΒ (PݴޠͰ։ൃ͍ͨ͠ αʔόϨε ίʔυ؅ཧͯ͠ ෳ਺ͷ-BNCEBΛར༻ 4MBDLʹΑΔ6*ͷলུ

    ࢀՃऀ͕ϩάΠϯͰ͖Δ 7VFKTͰ8FCը໘Λͭ͘Δ ػೳ͕࢒ߴ֬ೝˍτʔΫϯडऔ ࢀՃऀ͕ͦͷ৔Ͱ τʔΫϯΛૹΓ߹͑ΔαʔϏε΁ &3$ʹΑΔτʔΫϯͷൃߦ ఆྔੑͱఆੑੑΛ݉Ͷඋ͑ͨ &3$Ͱ ௨՟ͷϓϥοτϑΥʔϜΛͭ͘Δ ཁ͔݅Βٕज़ཁૉ·ͰશͯΛΞοϓσʔτ͢Δ 4MBDLϝοηʔδʹΑΔ࢒ߴ֬ೝ "3Λ࢖ͬͨ ήʔϜܕΠϯλϑΣʔε΁
  14. ࣗຫͰ͖Δٕज़ཁૉΛऔΓೖΕΑ͏ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾ಺Ͱར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δ؀ڥ ͍͚͜͠ΎΜ΃͍ Ծ໨ඪɿ4JNQMFY5PLFO

    Ծ૝௨՟ Λൃߦͯࣾ͠಺Ͱར༻ͯ͠΋Β͏ ֎෦Ͱൃද͢Δ Ϣʔεέʔε࠶੔ཧ "1*௥Ճ࡞੒ %#ઃܭमਖ਼ &3$ϑΥʔΫ &3$ &3$ "1*ܦ༝Ͱ௨՟௥Ճ (Pݴޠ΁ॻ͖׵͑ -BNCEBBTB$PEF 7VFKTͰ8FCը໘࡞੒ J1BEͰ"3ମݧ 3FWFBMKTεϥΠυͷڞ༗ ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ Ծ໨ඪɿτʔΫϯൃߦΛϕʔεͱͨ͠ϓϨθϯαϙʔτΞϓϦͷ։ൃ
  15. ൃදऀ༻1$ εΫϦʔϯ Ӿཡ ౤Ө ϓϨθϯςʔλ ௌߨऀ ݱεϥΠυͷϖʔδ͕ ࣗ਎ͷεϚϗʹಉظ͞ΕΔ ൃදεϥΠυ ࠷ߴ

     ͍͍Ͷ  ͏ʔΜ  ίϝϯτදࣔཝ Ξϯέʔτ εϥΠυ ίϝϯτදࣔཝ    <௨ৗεϥΠυ> <Ξϯέʔτ࣌> Ξϯέʔτʹ౴͑Δͱ τʔΫϯΛड͚औΔ͜ͱ͕Ͱ͖Δ ༻ҙ͞ΕͨίϝϯτϘλϯΛԡ͢͜ͱͰ ϓϨθϯςʔλ΁τʔΫϯΛૹΔ͜ͱ͕Ͱ͖Δ τʔΫϯͷྲྀ௨ྔΛεϥΠυ͝ͱʹूܭ ϑΟʔυόοΫ ϓϨθϯαϙʔτΞϓϦ Ξϯέʔτϖʔδ͕౤Ө͞ΕΔͱ εϚϗͷ6*͕มԽ ϓϨθϯςʔλͷൃදʹ߹ΘͤͯಠࣗτʔΫϯΛૹΓ߹͏ΞϓϦΛ Πϕϯτग़లʹ޲͚ͯ࡞੒
  16. ࣗຫͰ͖Δٕज़ཁૉΛऔΓೖΕΑ͏ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾ಺Ͱར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δ؀ڥ ͍͚͜͠ΎΜ΃͍ Ծ໨ඪɿ4JNQMFY5PLFO

    Ծ૝௨՟ Λൃߦͯࣾ͠಺Ͱར༻ͯ͠΋Β͏ ֎෦Ͱൃද͢Δ Ϣʔεέʔε࠶੔ཧ "1*௥Ճ࡞੒ %#ઃܭमਖ਼ &3$ϑΥʔΫ &3$ &3$ "1*ܦ༝Ͱ௨՟௥Ճ (Pݴޠ΁ॻ͖׵͑ -BNCEBBTB$PEF 7VFKTͰ8FCը໘࡞੒ J1BEͰ"3ମݧ 3FWFBMKTεϥΠυͷڞ༗ ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ Ծ໨ඪɿτʔΫϯൃߦΛϕʔεͱͨ͠ϓϨθϯαϙʔτΞϓϦͷ։ൃ
  17. ࣗຫͰ͖Δٕज़ཁૉΛऔΓೖΕΑ͏ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾ಺Ͱར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δ؀ڥ ͍͚͜͠ΎΜ΃͍ Ծ໨ඪɿ4JNQMFY5PLFO

    Ծ૝௨՟ Λൃߦͯࣾ͠಺Ͱར༻ͯ͠΋Β͏ ֎෦Ͱൃද͢Δ Ϣʔεέʔε࠶੔ཧ "1*௥Ճ࡞੒ %#ઃܭमਖ਼ &3$ϑΥʔΫ &3$ &3$ "1*ܦ༝Ͱ௨՟௥Ճ (Pݴޠ΁ॻ͖׵͑ -BNCEBBTB$PEF 7VFKTͰ8FCը໘࡞੒ J1BEͰ"3ମݧ 3FWFBMKTεϥΠυͷڞ༗ ٕज़తͳνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ Ծ໨ඪɿτʔΫϯൃߦΛϕʔεͱͨ͠ϓϨθϯαϙʔτΞϓϦͷ։ൃ
  18. Amazon API Gateway Amazon DynamoDB AWS Lambda લճ·Ͱͷొ৔αʔϏε ࠓճಋೖͨ͠αʔϏε Amazon

    Simple Storage Service (S3) AWS CloudFormation Amazon CloudFront Amazon Simple Storage Service (S3) όοΫΞοϓσʔλͷอଘઌ΍σʔλϨΠΫͱͯ͠ͷར༻ͷΈͳΒͣ ੩త΢ΣϒαΠτͷϗεςΟϯά΋Մೳɻ ࠓճ͸7VFKTͷ41"Λ4ʹϗεςΟϯά͢Δ໨తͰ࢖༻ɻ Amazon CloudFront 4ΛΦϦδϯαʔόͱΈͳ͠Ωϟογϡͨ͠ίϯςϯπΛ഑৴͢Δɻ $%1$BDIF%JTUSJCVUJPOύλʔϯ AWS CloudFormation (SAM) $MPVE'PSNBUJPOʹΑΓ"84αʔϏε࠶ߏங࣌ͷࣗಈԽɻ -BNCEBͰ࡞੒ͨ͠"1*ΛΞοϓσʔτ͢Δͱ͖ʹςϯϓϨʔτΛྲྀ͢ɻ $MPVE'PSNBUJPOͷ֦ுͰ͋Δ4". 4FSWFSMFTT"QQMJDBUJPO.PEFM ʹͯهड़ɻ IUUQTRJJUBDPNTIVOQJUFNTFFFFFGF <ࢀߟ>(Pʴ-BNCEBͰ࠷଎αʔόϨενϡʔτϦΞϧ
  19. 7VFKT γϯϓϧ41" εϥΠυ͝ͱͷ ϦΞΫγϣϯΛ஝ੵ εϚʔτίϯτϥΫτ ΞΫηε༻ %ZOBNP%# ΞΫηε༻ "3,JU සൃ͢Δ-BNCEBͷσϓϩΠΛ

    ίʔυͰ؅ཧ "3දࣔ༻ ΤϯυϙΠϯτ ϓϨθϯαϙʔτΞϓϦ ΞʔΩςΫνϟ֓ཁ ,PWBOωοτϫʔΫ τʔΫϯΛ "3Ͱදݱ Amazon Simple Storage Service (S3) Amazon API Gateway Amazon API Gateway AWS Lambda AWS Lambda Amazon DynamoDB Amazon CloudFront &UIFSFVN &3$ʹΑΔ τʔΫϯͷൃߦ ฐࣾಠ࣮ࣗ૷ʹΑΔϓϥοτϑΥʔϜ AWS CloudFormation (SAM)
  20. ݦࡏԽ͢ΔϢʔεέʔεʹඋ͑ͨ ٕज़ࢿ࢈ͷ੔ཧΛ͠Α͏ ൃ৴ͯ͠ ڞײΛूΊΔ ࣾ಺Ͱར༻Ͱ͖ ΔπʔϧΛ࡞Δ ֎෦Ͱൃද͢Δ νϟϨϯδ Ͱ͖Δ؀ڥ ͍͚͜͠ΎΜ΃͍

    Ծ໨ඪɿ4JNQMFY5PLFO Ծ૝௨՟ Λൃߦͯࣾ͠಺Ͱར༻ͯ͠΋Β͏ ϓϩμΫτԽʹ޲͚ͯ ৽نࣄۀܭըॻ ن֨MFTTͳ΢ΥϨοτ ༷ʑͳ%"QQT։ൃ ଞ௨՟ $*$%੔උ ೝূೝՄ σʔλ෼ੳ ωΠςΟϒΞϓϦ։ൃ ੑೳ 6*69 ΍Γ͍ͨνϟϨϯδཁૉ શମઃܭ ϒϩοΫνΣʔϯ όοΫΤϯυ ϑϩϯτΤϯυ ϞόΠϧ Ծ໨ඪɿτʔΫϯൃߦΛϕʔεͱͨ͠ϓϨθϯαϙʔτΞϓϦͷ։ൃ ໨ඪɿϓϩμΫτԽʹ޲͚ٕͨज़੔ཧ
  21. AWS Cloud9 AWS CodeBuild AWS CodeCommit AWS CodePipeline AWS Lambda

    Amazon API Gateway Α͘ར༻͢ΔαʔϏε AWS Cloud9 &$্Ͱ։ൃ؀ڥΛఏڙɻλʔϛφϧ͕ηοτͰ෇͍͍ͯΔɻ Ͳͷ୺຤͔ΒͰ΋ಉ͡։ൃ؀ڥ͕ϒϥ΢βΛ։͚ͩ͘Ͱ༻ҙ͞Ε͍ͯΔͨΊ ৔߹ʹΑͬͯ͸%PDLFSͰ։ൃ؀ڥΛἧ͑ΔΑΓָɻ AWS CodeCommit -BNCEBͷιʔείʔυ؅ཧ͸$PEF$PNNJU্Ͱ؅ཧɻ ϓϧϦΫΤετɾίϛοτϏδϡΞϥΠβʔͳͲΛ(6*Ͱఏڙ͓ͯ͠Γ บ͸͋Δ΋ͷͷ(JU)VCͱͦΕ΄Ͳେࠩͳ͍࢖༻ײͰར༻Ͱ͖Δɻ AWS CodePipeline AWS CodeBuild $MPVE'PSNBUJPO4".ͷίϚϯυͰ-BNCEB΍"1*(BUFXBZΛ࡞੒͢Δɻ lJOTUBMMz lQSF@CVJMEz lCVJMEzͳͲϑΣʔζຖʹ࣮ߦ͢ΔίϚϯυΛάϧʔϓԽ͠ ඞཁͳϞδϡʔϧΠϯετʔϧɺςετɺϏϧυΛ࣮ߦͤ͞Δɻ $*$%ύΠϓϥΠϯΛ(6*Ͱఏڙ͢Δɻ ιʔείʔυ؅ཧͱͯ͠$PEF$PNNJUΛબ୒͢ΔͱɺಛఆϒϥϯνʹϚʔδ͞Εͨ৔߹ ύΠϓϥΠϯ͕ىಈ͠ɺޙଓͷ$PEF#VJME͕࣮ߦ͞ΕΔɻ
  22. Α͘ར༻͢ΔαʔϏε Amazon Cognito AWS Amplify AWS AppSync AWS AppSync ओʹ(SBQI2-αʔόͱͯ͠ར༻ɻ

    -BNCEB%ZOBNP%#&MBTUJD4FBSDI4FSWJDFΛޙଓͰϑοΫͰ͖Δɻ ෳ਺ͷ%ZOBNP%#ςʔϒϧʹ·͕ͨΔॲཧ΋Մೳɻ AWS Amplify ϑϩϯτΤϯυ༻ͷ$*$%ͱͯ͠"NQMJGZ$POTPMFΛ࢖༻ɻ 4΁ͷΞοϓϩʔυ͓Αͼ$MPVE'SPOUͰͷ഑৴ઃఆ͕লུͰ͖Δɻ "NQMJGZ'SBNFXPSLͰ͸"84αʔϏε΁ͷΞΫηεΛ؆ུԽ͠ "QQ4ZOD΍$PHOJUP΁ͷΞΫηεΛγϯϓϧʹ͢Δɻ Amazon Cognito ೝূαʔϏεͱͯ͠ར༻ɻ ϢʔβσʔλΛ؅ཧ͠ɺೝূ੒ޭ࣌ʹϢʔβ৘ใؚ͕·Εͨ+85Λฦ͢ɻ *".ͱ૊Έ߹ΘͤΔ͜ͱͰೝՄ੍ޚ͢Δ͜ͱ΋Մೳɻ IUUQTRJJUBDPNTIVOQJUFNTEBEGBEEGG <ࢀߟ> 7VFKT "NQMJGZΛۦ࢖͢Ε͹Ϟμϯͳ8FCΞϓϦΛ෼Ͱެ։Ͱ͖Δ
  23. 3FNJY *%& ΞʔΩςΫνϟ֓ཁ 4MBDLΠϕϯτ औಘ༻ %ZOBNP%# ΞΫηε༻ εϚʔτίϯτϥΫτ ΞΫηε༻ 4MBDLͷ

    3&45"1*Λड͚Δ ೝূ ϑϩϯτΤϯυ༻$*$% ։ൃϑϨʔϜϫʔΫ σϓϩΠ 4MBDL &3$ 7VFKT γϯϓϧ41" Amazon API Gateway AWS Lambda AWS Lambda Amazon DynamoDB Amazon DynamoDB &3$9999 AWS AppSync AWS Amplify Amazon Cognito AWS Lambda AWS Lambda AWS Cloud9 AWS CodePipeline 'MVUUFS Amazon CloudWatch AWS CloudFormation AWS CloudTrail -BNCEB'VODUJPOT
  24. ݱࡏͷ։ൃεΩʔϜ ࣮ݧతʹ ϓϩτλΠϓͷ࡞੒ ࣾһ Ϣʔβ ೿ੜ ར༻ ٕज़ࢿ࢈ͷ஝ੵ 'MVUUFS 7VFKT

    4MBDL 6OJUZ "3,JU &UIFSFVN (Pݴޠ "84 هࣄʹ·ͱΊΔ ༻్ผʹϦϙδτϦΛ࡞੒ ֤ΞϓϦ "84ʹݶΒͣ෯޿͍ྖҬΛࢹ໺ʹೖΕͯ׆ಈத